package org.hxyjs.entity;

import java.util.ArrayList;
import java.util.List;

public class AnswerrecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public AnswerrecordExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAnrnoIsNull() {
            addCriterion("anrno is null");
            return (Criteria) this;
        }

        public Criteria andAnrnoIsNotNull() {
            addCriterion("anrno is not null");
            return (Criteria) this;
        }

        public Criteria andAnrnoEqualTo(String value) {
            addCriterion("anrno =", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoNotEqualTo(String value) {
            addCriterion("anrno <>", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoGreaterThan(String value) {
            addCriterion("anrno >", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoGreaterThanOrEqualTo(String value) {
            addCriterion("anrno >=", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoLessThan(String value) {
            addCriterion("anrno <", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoLessThanOrEqualTo(String value) {
            addCriterion("anrno <=", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoLike(String value) {
            addCriterion("anrno like", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoNotLike(String value) {
            addCriterion("anrno not like", value, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoIn(List<String> values) {
            addCriterion("anrno in", values, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoNotIn(List<String> values) {
            addCriterion("anrno not in", values, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoBetween(String value1, String value2) {
            addCriterion("anrno between", value1, value2, "anrno");
            return (Criteria) this;
        }

        public Criteria andAnrnoNotBetween(String value1, String value2) {
            addCriterion("anrno not between", value1, value2, "anrno");
            return (Criteria) this;
        }

        public Criteria andChiCnoIsNull() {
            addCriterion("chi_cno is null");
            return (Criteria) this;
        }

        public Criteria andChiCnoIsNotNull() {
            addCriterion("chi_cno is not null");
            return (Criteria) this;
        }

        public Criteria andChiCnoEqualTo(String value) {
            addCriterion("chi_cno =", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoNotEqualTo(String value) {
            addCriterion("chi_cno <>", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoGreaterThan(String value) {
            addCriterion("chi_cno >", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoGreaterThanOrEqualTo(String value) {
            addCriterion("chi_cno >=", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoLessThan(String value) {
            addCriterion("chi_cno <", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoLessThanOrEqualTo(String value) {
            addCriterion("chi_cno <=", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoLike(String value) {
            addCriterion("chi_cno like", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoNotLike(String value) {
            addCriterion("chi_cno not like", value, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoIn(List<String> values) {
            addCriterion("chi_cno in", values, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoNotIn(List<String> values) {
            addCriterion("chi_cno not in", values, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoBetween(String value1, String value2) {
            addCriterion("chi_cno between", value1, value2, "chiCno");
            return (Criteria) this;
        }

        public Criteria andChiCnoNotBetween(String value1, String value2) {
            addCriterion("chi_cno not between", value1, value2, "chiCno");
            return (Criteria) this;
        }

        public Criteria andRdnoIsNull() {
            addCriterion("rdno is null");
            return (Criteria) this;
        }

        public Criteria andRdnoIsNotNull() {
            addCriterion("rdno is not null");
            return (Criteria) this;
        }

        public Criteria andRdnoEqualTo(String value) {
            addCriterion("rdno =", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoNotEqualTo(String value) {
            addCriterion("rdno <>", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoGreaterThan(String value) {
            addCriterion("rdno >", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoGreaterThanOrEqualTo(String value) {
            addCriterion("rdno >=", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoLessThan(String value) {
            addCriterion("rdno <", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoLessThanOrEqualTo(String value) {
            addCriterion("rdno <=", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoLike(String value) {
            addCriterion("rdno like", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoNotLike(String value) {
            addCriterion("rdno not like", value, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoIn(List<String> values) {
            addCriterion("rdno in", values, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoNotIn(List<String> values) {
            addCriterion("rdno not in", values, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoBetween(String value1, String value2) {
            addCriterion("rdno between", value1, value2, "rdno");
            return (Criteria) this;
        }

        public Criteria andRdnoNotBetween(String value1, String value2) {
            addCriterion("rdno not between", value1, value2, "rdno");
            return (Criteria) this;
        }

        public Criteria andOrrnoIsNull() {
            addCriterion("orrno is null");
            return (Criteria) this;
        }

        public Criteria andOrrnoIsNotNull() {
            addCriterion("orrno is not null");
            return (Criteria) this;
        }

        public Criteria andOrrnoEqualTo(String value) {
            addCriterion("orrno =", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoNotEqualTo(String value) {
            addCriterion("orrno <>", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoGreaterThan(String value) {
            addCriterion("orrno >", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoGreaterThanOrEqualTo(String value) {
            addCriterion("orrno >=", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoLessThan(String value) {
            addCriterion("orrno <", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoLessThanOrEqualTo(String value) {
            addCriterion("orrno <=", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoLike(String value) {
            addCriterion("orrno like", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoNotLike(String value) {
            addCriterion("orrno not like", value, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoIn(List<String> values) {
            addCriterion("orrno in", values, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoNotIn(List<String> values) {
            addCriterion("orrno not in", values, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoBetween(String value1, String value2) {
            addCriterion("orrno between", value1, value2, "orrno");
            return (Criteria) this;
        }

        public Criteria andOrrnoNotBetween(String value1, String value2) {
            addCriterion("orrno not between", value1, value2, "orrno");
            return (Criteria) this;
        }

        public Criteria andSjnoIsNull() {
            addCriterion("sjno is null");
            return (Criteria) this;
        }

        public Criteria andSjnoIsNotNull() {
            addCriterion("sjno is not null");
            return (Criteria) this;
        }

        public Criteria andSjnoEqualTo(String value) {
            addCriterion("sjno =", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoNotEqualTo(String value) {
            addCriterion("sjno <>", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoGreaterThan(String value) {
            addCriterion("sjno >", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoGreaterThanOrEqualTo(String value) {
            addCriterion("sjno >=", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoLessThan(String value) {
            addCriterion("sjno <", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoLessThanOrEqualTo(String value) {
            addCriterion("sjno <=", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoLike(String value) {
            addCriterion("sjno like", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoNotLike(String value) {
            addCriterion("sjno not like", value, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoIn(List<String> values) {
            addCriterion("sjno in", values, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoNotIn(List<String> values) {
            addCriterion("sjno not in", values, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoBetween(String value1, String value2) {
            addCriterion("sjno between", value1, value2, "sjno");
            return (Criteria) this;
        }

        public Criteria andSjnoNotBetween(String value1, String value2) {
            addCriterion("sjno not between", value1, value2, "sjno");
            return (Criteria) this;
        }

        public Criteria andAnrdateIsNull() {
            addCriterion("anrDate is null");
            return (Criteria) this;
        }

        public Criteria andAnrdateIsNotNull() {
            addCriterion("anrDate is not null");
            return (Criteria) this;
        }

        public Criteria andAnrdateEqualTo(String value) {
            addCriterion("anrDate =", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateNotEqualTo(String value) {
            addCriterion("anrDate <>", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateGreaterThan(String value) {
            addCriterion("anrDate >", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateGreaterThanOrEqualTo(String value) {
            addCriterion("anrDate >=", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateLessThan(String value) {
            addCriterion("anrDate <", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateLessThanOrEqualTo(String value) {
            addCriterion("anrDate <=", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateLike(String value) {
            addCriterion("anrDate like", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateNotLike(String value) {
            addCriterion("anrDate not like", value, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateIn(List<String> values) {
            addCriterion("anrDate in", values, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateNotIn(List<String> values) {
            addCriterion("anrDate not in", values, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateBetween(String value1, String value2) {
            addCriterion("anrDate between", value1, value2, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdateNotBetween(String value1, String value2) {
            addCriterion("anrDate not between", value1, value2, "anrdate");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeIsNull() {
            addCriterion("anrDescribe is null");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeIsNotNull() {
            addCriterion("anrDescribe is not null");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeEqualTo(String value) {
            addCriterion("anrDescribe =", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeNotEqualTo(String value) {
            addCriterion("anrDescribe <>", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeGreaterThan(String value) {
            addCriterion("anrDescribe >", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeGreaterThanOrEqualTo(String value) {
            addCriterion("anrDescribe >=", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeLessThan(String value) {
            addCriterion("anrDescribe <", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeLessThanOrEqualTo(String value) {
            addCriterion("anrDescribe <=", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeLike(String value) {
            addCriterion("anrDescribe like", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeNotLike(String value) {
            addCriterion("anrDescribe not like", value, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeIn(List<String> values) {
            addCriterion("anrDescribe in", values, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeNotIn(List<String> values) {
            addCriterion("anrDescribe not in", values, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeBetween(String value1, String value2) {
            addCriterion("anrDescribe between", value1, value2, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrdescribeNotBetween(String value1, String value2) {
            addCriterion("anrDescribe not between", value1, value2, "anrdescribe");
            return (Criteria) this;
        }

        public Criteria andAnrstateIsNull() {
            addCriterion("anrState is null");
            return (Criteria) this;
        }

        public Criteria andAnrstateIsNotNull() {
            addCriterion("anrState is not null");
            return (Criteria) this;
        }

        public Criteria andAnrstateEqualTo(Integer value) {
            addCriterion("anrState =", value, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateNotEqualTo(Integer value) {
            addCriterion("anrState <>", value, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateGreaterThan(Integer value) {
            addCriterion("anrState >", value, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateGreaterThanOrEqualTo(Integer value) {
            addCriterion("anrState >=", value, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateLessThan(Integer value) {
            addCriterion("anrState <", value, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateLessThanOrEqualTo(Integer value) {
            addCriterion("anrState <=", value, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateIn(List<Integer> values) {
            addCriterion("anrState in", values, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateNotIn(List<Integer> values) {
            addCriterion("anrState not in", values, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateBetween(Integer value1, Integer value2) {
            addCriterion("anrState between", value1, value2, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrstateNotBetween(Integer value1, Integer value2) {
            addCriterion("anrState not between", value1, value2, "anrstate");
            return (Criteria) this;
        }

        public Criteria andAnrnumberIsNull() {
            addCriterion("anrNumber is null");
            return (Criteria) this;
        }

        public Criteria andAnrnumberIsNotNull() {
            addCriterion("anrNumber is not null");
            return (Criteria) this;
        }

        public Criteria andAnrnumberEqualTo(String value) {
            addCriterion("anrNumber =", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberNotEqualTo(String value) {
            addCriterion("anrNumber <>", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberGreaterThan(String value) {
            addCriterion("anrNumber >", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberGreaterThanOrEqualTo(String value) {
            addCriterion("anrNumber >=", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberLessThan(String value) {
            addCriterion("anrNumber <", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberLessThanOrEqualTo(String value) {
            addCriterion("anrNumber <=", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberLike(String value) {
            addCriterion("anrNumber like", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberNotLike(String value) {
            addCriterion("anrNumber not like", value, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberIn(List<String> values) {
            addCriterion("anrNumber in", values, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberNotIn(List<String> values) {
            addCriterion("anrNumber not in", values, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberBetween(String value1, String value2) {
            addCriterion("anrNumber between", value1, value2, "anrnumber");
            return (Criteria) this;
        }

        public Criteria andAnrnumberNotBetween(String value1, String value2) {
            addCriterion("anrNumber not between", value1, value2, "anrnumber");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}